package com.emcom.gotour.po;

import java.io.Serializable;
import java.sql.Timestamp;
import org.apache.commons.lang.builder.CompareToBuilder;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;

/**
 * database table TOUR_SCHEDULER bean.<br/>
 * @author Cui Zuoli
 * @version 1.0
 */
public class TourScheduler implements Comparable<Object>, Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = 7815508605479431378L;
	private long id;
	private long tourId;
	private String name;
	private String content;
	private String dinner;
	private String hotel;
	private String comments;
	private Timestamp inputDate;
	private Timestamp updateDate;
	public long getId() {
		return id;
	}
	public void setId(long id) {
		this.id = id;
	}
	public long getTourId() {
		return tourId;
	}
	public void setTourId(long tourId) {
		this.tourId = tourId;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getContent() {
		return content;
	}
	public void setContent(String content) {
		this.content = content;
	}
	public String getDinner() {
		return dinner;
	}
	public void setDinner(String dinner) {
		this.dinner = dinner;
	}
	public String getHotel() {
		return hotel;
	}
	public void setHotel(String hotel) {
		this.hotel = hotel;
	}
	public String getComments() {
		return comments;
	}
	public void setComments(String comments) {
		this.comments = comments;
	}
	public Timestamp getInputDate() {
		return inputDate;
	}
	public void setInputDate(Timestamp inputDate) {
		this.inputDate = inputDate;
	}
	public Timestamp getUpdateDate() {
		return updateDate;
	}
	public void setUpdateDate(Timestamp updateDate) {
		this.updateDate = updateDate;
	}
	/**
	 * @see java.lang.Comparable#compareTo(Object)
	 */
	public int compareTo(Object object) {
		TourScheduler myClass = (TourScheduler) object;
		return new CompareToBuilder().append(this.dinner, myClass.dinner)
				.append(this.content, myClass.content).append(this.id,
						myClass.id).append(this.inputDate, myClass.inputDate)
				.append(this.name, myClass.name).append(this.hotel,
						myClass.hotel).append(this.updateDate,
						myClass.updateDate).append(this.comments,
						myClass.comments).append(this.tourId, myClass.tourId)
				.toComparison();
	}
	/**
	 * @see java.lang.Object#equals(Object)
	 */
	public boolean equals(Object object) {
		if (!(object instanceof TourScheduler)) {
			return false;
		}
		TourScheduler rhs = (TourScheduler) object;
		return new EqualsBuilder().appendSuper(super.equals(object)).append(
				this.dinner, rhs.dinner).append(this.content, rhs.content)
				.append(this.id, rhs.id).append(this.inputDate, rhs.inputDate)
				.append(this.name, rhs.name).append(this.hotel, rhs.hotel)
				.append(this.updateDate, rhs.updateDate).append(this.comments,
						rhs.comments).append(this.tourId, rhs.tourId)
				.isEquals();
	}
	/**
	 * @see java.lang.Object#hashCode()
	 */
	public int hashCode() {
		return new HashCodeBuilder(-347019733, 1906154923).appendSuper(
				super.hashCode()).append(this.dinner).append(this.content)
				.append(this.id).append(this.inputDate).append(this.name)
				.append(this.hotel).append(this.updateDate).append(
						this.comments).append(this.tourId).toHashCode();
	}
	/**
	 * @see java.lang.Object#toString()
	 */
	public String toString() {
		return new ToStringBuilder(this).append("hotel", this.hotel).append(
				"tourId", this.tourId).append("content", this.content).append(
				"comments", this.comments).append("name", this.name).append(
				"updateDate", this.updateDate).append("inputDate",
				this.inputDate).append("dinner", this.dinner).append("id",
				this.id).toString();
	}
}